/* Code block styles */
.markdown-body pre {
  @apply mb-4 !important;
}

.copy-code-button {
  @apply absolute right-2 top-2 p-1.5 opacity-0 group-hover/code:opacity-100 transition-all duration-150 rounded-md hover:bg-muted cursor-pointer min-w-[2rem] flex items-center justify-center;
}

.copy-code-button .copy-tooltip {
  @apply absolute right-full mr-2 px-2 py-1 rounded bg-popover text-popover-foreground text-xs opacity-0 group-hover:opacity-100 transition-opacity duration-150 whitespace-nowrap border border-border shadow-sm -translate-y-1/2 top-1/2;
}

/* Success state animations */
.lucide-check {
  @apply animate-in zoom-in-50 duration-150;
}

.success-tip {
  @apply animate-in fade-in slide-in-from-left-1 duration-150;
}

/* Line numbers styles */
.code-with-lines {
  @apply relative;
}

.code-with-lines code {
  counter-reset: line;
}

.code-with-lines code .line {
  @apply block pl-12;
  counter-increment: line;
}

.code-with-lines code .line::before {
  @apply absolute left-0 text-xs text-zinc-500/70 select-none w-8 text-right pr-2;
  content: counter(line);
}